A RNN (Recurrent Neural Network) is a kind of neural network developed for applications to robot operations and the like. However, the RNN is not only applicable to robot operations, but is also applicable to physical models of various electronic apparatuses including a pedometer, a speech analysis apparatus, and the like. The RNN itself is proposed in Fumio Nagashima, “A Bilinear Time Delay Neural Network Model for a Robot Software System”, Journal of Robotics Society of Japan, Vol. 24, No. 6, pp. 54-64, 2006, for example.
The RNN is a network including a neuron and connections, and may be expressed by a relational formula of the neuron and input and output connections, as illustrated in FIG. 1. In FIG. 1, εi denotes a delay parameter, yi and yj denote neuron state quantities, Cij denotes a weighting coefficient, t denotes the time, and the neuron state quantity yi may be regarded as being the same as the neuron.
A relational formula illustrated in FIG. 2 may be conceivable as an expansion of the relational formula illustrated in FIG. 1. FIG. 2 illustrates that, in addition to the structure illustrated in FIG. 1, a value gi is input to the neuron yi, where the value gi is a value obtained by other than a neuron of a RNN circuit.
FIG. 3 is a diagram for explaining an example of the RNN circuit. The RNN circuit illustrated in FIG. 3 includes two (2) neurons and five (5) connections. In FIG. 3, εi=1, and a value “1” indicated beside the connection denotes the weighting coefficient. A top right portion of FIG. 3 illustrates a differential equation of the RNN circuit, and a bottom right portion of FIG. 3 illustrates a solution that is obtained when the differential equation is solved. Solving this differential equation may physically correspond to obtaining a locus (or moving distance) y1 (t) when an acceleration g(t) is given, for example. Accordingly, the RNN circuit illustrated in FIG. 3 may obtain the locus from the acceleration, and it may be seen that this RNN circuit employs an analog concept since the input and output of the RNN circuit are represented as a function of continuous time t.
On the other hand, an acceleration sensor is configured to output a value for every unit time, and output values are discrete (or digital) values, as illustrated in FIG. 4, for example. FIG. 4 is a diagram illustrating an example of the output values of the acceleration sensor. In FIG. 4, the ordinate indicates the output value of the acceleration sensor in arbitrary units, and the abscissa indicates the time in arbitrary units. FIG. 4 illustrates output values y1 to y10 at times t0 to t10. Hence, even when the discrete output values of the acceleration sensor are to be substituted into the RNN circuit illustrated in FIG. 3 as the acceleration, it is impossible to input the discrete output values of the acceleration sensor to the RNN circuit which employs the analog concept.
In order to substitute the discrete values into the RNN circuit illustrated in FIG. 3, an analog curve fitted to the discrete values may be created, as illustrated in FIG. 5, for example. FIG. 5 is a diagram illustrating an example of the analog curve fitted to the discrete values. In FIG. 5, those parts that are the same as those corresponding parts in FIG. 4 are designated by the same reference numerals, and a description thereof will be omitted. The analog curve fitted to the discrete values may be created by connecting each of the discrete values by line segments, or by fitting a spline curve to the discrete values.
Accordingly, if it were possible to realize a RNN circuit that outputs a fitting curve when the discrete values are input thereto, such a RNN circuit may be connected to the RNN circuit illustrated in FIG. 3, for example, so that various outputs may be generated. FIG. 6 is a diagram schematically illustrating the RNN circuit that outputs the fitting curve in response to the discrete values input thereto. For example, when the RNN circuit illustrated in FIG. 6 that performs a digital-to-analog conversion is connected to the RNN circuit illustrated in FIG. 3, the locus may be output from the discrete output values of the acceleration sensor. However, it may be readily understood from the following reasons that it is difficult to realize a RNN circuit that outputs a curve connecting each of the discrete values by line segments, or a spline curve, based on the discrete values that are input thereto.
In other words, the curve that connects each of the discrete points by the line segments cannot be differentiated at the discrete points. However, all curves that are obtained as the output of the RNN circuit can be differentiated at the discrete points. Hence, the curve that connects each of the discrete values by the line segments is not obtainable as an output of the RNN circuit.
On the other hand, the spline curve connects each of the discrete points by a polynomial curve, and the polynomial curve may be output from the RNN circuit. However, because the polynomial curve is modified between the discrete points, the weighting coefficient of each connection of the RNN circuit need to be modified between the discrete points, to thereby make the processing extremely complex.
The applicant is aware of Japanese Laid-Open Patent Publications No. 2000-310997, No. 7-234697, and No. 9-73440.
Therefore, it is conventionally difficult to realize a RNN circuit that outputs a fitting curve based on discrete values that are input thereto.